package com.cskaoyan.tk.spi;

import java.util.Iterator;
import java.util.ServiceLoader;

/**
 * 创建日期: 2023/01/07 11:08
 *
 * @author ciggar
 */
public class Main {

    public static void main(String[] args) {

//        Pay pay;


//        // 使用微信支付
//        pay = new WechatPay();
//        pay.payAmount(100);
//
//
//        // 支付宝支付
//        pay = new AliPay();
//        pay.payAmount(200);


        // 使用spi机制动态发现 接口的实现类
        // 获取pay接口所有的实现类，serviceLoader可以理解为是一个集合
        ServiceLoader<Pay> serviceLoader = ServiceLoader.load(Pay.class);

        Iterator<Pay> iterator = serviceLoader.iterator();
        while (iterator.hasNext()) {
            Pay pay = iterator.next();
            pay.payAmount(300);
        }

    }
}
